home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
dieroll
< prev
next >
Wrap
Text File
|
1995-03-31
|
2KB
|
130 lines
%%HP: T(3)A(D)F(.);
DIR
DC
\<< 1 3
START DEPTH
DUP
IF
THEN ROLL
END DROP
NEXT DIE TYPE
6
IF ==
THEN DICE
ELSE DIE SIZE
4
IF ==
THEN XDIE
ELSE DICE
END
END
\>>
DICE
\<< 5
IF FC?
THEN CL\GS
END DEPTH DUP
IF NOT
THEN DIE
IFERR LIST\->
DROP
THEN 6 2 0
END
ELSE \->LIST
CHK
END \-> c d e
\<< CLEAR 1 d
START c
RDMZR \GS+
NEXT RCL\GS
ARRY\-> DROP d \->LIST
e TOT e + 5
IF FC?
THEN '\GSDAT'
PURGE
END
\>>
\>>
XDIE
\<< DEPTH
IF NOT
THEN
IFERR DIE
LIST\->
THEN
"ERROR-
NO ENTRY"
CLLCD 1 DISP 1200
.4 BEEP 1400 .4
BEEP 4 WAIT KILL
ELSE 4
IF \=/
THEN DICE
KILL
END
END
ELSE DEPTH 1
IF ==
THEN DIE
SIZE 4
IF ==
THEN
'DIE' SWAP 4 SWAP
PUT DIE LIST\-> DROP
END
END
END ASK \-> a
\<< 5 SF CL\GS 1
a
START DICE
CLEAR
NEXT 5 CF '
DIE(2)' EVAL a SWAP
2 \->LIST '\GSDAT' SWAP
RDM \GSDAT '\GSDAT' TRN
TOT 'DIE(3)' EVAL {
a } SWAP CON + 4
IF FS?
THEN MIN\GS -
END ARRY\->
DROP a \->LIST DIE a
+ 'DIE' STO 'DIE(3)
' EVAL SWAP '\GSDAT'
PURGE 2 PICK
IF NOT
THEN 2 ROLL
DROP
END
\>>
\>>
RDMZR
\<< \-> a
\<< RAND a * IP
1 +
\>>
\>>
DIE { 6 3 0 5 }
CHK
\<< \-> a
\<< CLEAR a { {
1 0 } { 0 } { } } a
SIZE
IFERR GET
THEN DROP a
1 3 SUB { }
END + DUP
'DIE' STO LIST\->
DROP
\>>
\>>
ASK
\<< { { "YES"
\<< 4 SF CONT
\>> } { "NO"
\<< 4 CF CONT
\>> } } TMENU
"Drop lowest roll?"
PROMPT 0 MENU
\>>
END